package poo.figurePiane;

import poo.util.Mat;

public class Cerchio extends Figura {

	public Cerchio(double raggio) {
		super(raggio);
		if (raggio <= 0)
			throw new IllegalArgumentException();
	}

	public double getRaggio() {
		return getDimensione();
	}

	public double getDiametro() {
		return getDimensione() * 2;
	}

	@Override
	public double perimetro() {
		return 2 * Math.PI * getDimensione();
	}

	@Override
	public double area() {
		return 2 * Math.PI * (getDimensione() * getDimensione());
	}

	@Override
	public boolean equals(Object o) {
		if (!(o instanceof Cerchio))
			return false;
		if (o == this)
			return true;
		Cerchio c = (Cerchio) o;
		return Mat.sufficientementeProssimi(c.getRaggio(), this.getRaggio());
	}

	public String toString() {
		return "Cerchio di raggio= " + String.format("%1.2f", getDimensione())
				+ " e diametro= " + String.format("%1.2f", getDimensione() * 2);
	}
}
